Typically, a computing device makes use of a security module to monitor the hardware platform and the operating system of the computing device during boot up. The security module is often a dedicated processing chip that receives state inputs from various components of the computing device as the computing device boots up. In turn, the security module provides the state inputs to applications on the computing device. The applications generally use the state inputs to verify that the computing device is a secured platform for the execution of the applications, e.g., the operating system is up-to-date and free from known security problems.
However, in many instances, the security module receives a large number of inputs from the hardware and software platform during boot up due to the large number of hardware components that are initialized. Furthermore, many applications are incapable of processing the state inputs that are received from the security module. The development of applications that are capable of processing state inputs from a plethora of computing devices with various hardware configurations to distinguish between secure and compromised computing devices typically call for a significant outlay of resources. Often, application developers lack or are otherwise unwilling to commit such resources. As such, while the security module is intended to assist in creating a secured computing platform, the state inputs that are provided by the security module are often ignored by a large number of applications on the computing device.
Accordingly, applications executing on the computing device despite the fact that the state inputs are reflective of a compromised computing device. The execution of such applications often inadvertently allows a malicious party to take control of the computing device and/or steal user data from the computing device.